﻿using System.Threading.Tasks;

using Xc.DataAccess.Core;
using Xc.DataAccess.Protocoals.WaterMeters.Models;
using Xc.DataAccess.Protocoals.WaterMeters.Models.Responds;
using Xc.DataAccess.WaterMeters.ClientSides.Services;

namespace Xc.WaterMeters.ServerHosts.Services
{
    public class DeviceCallBackService: IWaterDeviceReceiveService
    {
        private readonly IWaterDeviceSendService waterDeviceSendService;

        public DeviceCallBackService(IWaterDeviceSendService waterDeviceSendService)
        {
            this.waterDeviceSendService = waterDeviceSendService;
        }

        public Task<Result> GetMeterAddressRespond(GetMeterAddressRespond respond, FrameCommand frameCommand, DataSegment dataSegment, string devcieId, MeterType meterType, byte companyId)
        {
            throw new System.NotImplementedException();
        }

        public Task<Result> GetMeterDataRespond(GetMeterDataRespond respond, FrameCommand frameCommand, DataSegment dataSegment, string devcieId, MeterType meterType, byte companyId)
        {
            throw new System.NotImplementedException();
        }

        public Task<Result> MeterAutoUploadRespond(MeterAutoUploadRespond respond, FrameCommand frameCommand, DataSegment dataSegment, string devcieId, MeterType meterType, byte companyId)
        {
            throw new System.NotImplementedException();
        }

        public Task<Result> SetAlarmVolumeRespond(SetAlarmVolumeRespond respond, FrameCommand frameCommand, DataSegment dataSegment, string devcieId, MeterType meterType, byte companyId)
        {
            throw new System.NotImplementedException();
        }

        public Task<Result> SetCloseValveRespond(SetCloseValveRespond respond, FrameCommand frameCommand, DataSegment dataSegment, string devcieId, MeterType meterType, byte companyId)
        {
            throw new System.NotImplementedException();
        }

        public Task<Result> SetMeterIpAddressRespond(SetMeterIpAddressRespond respond, FrameCommand frameCommand, DataSegment dataSegment, string devcieId, MeterType meterType, byte companyId)
        {
            throw new System.NotImplementedException();
        }

        public Task<Result> SetMeterMutipleChargeRespond(SetMeterMutipleChargeRespond respond, FrameCommand frameCommand, DataSegment dataSegment, string devcieId, MeterType meterType, byte companyId)
        {
            throw new System.NotImplementedException();
        }

        public Task<Result> SetMeterUploadIntervalRespond(SetMeterUploadIntervalRespond respond, FrameCommand frameCommand, DataSegment dataSegment, string devcieId, MeterType meterType, byte companyId)
        {
            throw new System.NotImplementedException();
        }

        public Task<Result> SetMeterValueRespond(SetMeterValueRespond respond, FrameCommand frameCommand, DataSegment dataSegment, string devcieId, MeterType meterType, byte companyId)
        {
            throw new System.NotImplementedException();
        }

        public Task<Result> SetOpenValveRespond(SetOpenValveRespond respond, FrameCommand frameCommand, DataSegment dataSegment, string devcieId, MeterType meterType, byte companyId)
        {
            throw new System.NotImplementedException();
        }

        public Task<Result> SetRestoreFactoryRespond(SetRestoreFactoryRespond respond, FrameCommand frameCommand, DataSegment dataSegment, string devcieId, MeterType meterType, byte companyId)
        {
            throw new System.NotImplementedException();
        }

        public Task<Result> SetUserChangeRespond(SetUserChangeRespond respond, FrameCommand frameCommand, DataSegment dataSegment, string devcieId, MeterType meterType, byte companyId)
        {
            throw new System.NotImplementedException();
        }
    }
}
